package com.sg.service.base.framework;

import com.sg.dto.base.framework.req.*;
import com.sg.entity.StaffingAccount;

import java.util.List;

/**
 * @author ：
 * @version 1.0
 * @date ：
 */
public interface MStaffingAccountService {
    /**
     * 1-3-14新增编制账户
     */
    String addStaffingAccount(StaffingAccount staffingAccount);

    /**
     * 1-3-14修改编制账户
     */
    boolean updateStaffingAccount(StaffingAccount staffingAccount);

    /**
     * 1-3-14删除编制账户
     */
    boolean deleteStaffingAccount(DeleteStaffingAccountReq reqDto);

    /**
     * 1-3-14查询编制账户详情
     */
    StaffingAccount queryStaffingAccountDetail(QueryStaffingAccountDetailReq reqDto);

    /**
     * 1-3-14查询编制账户列表
     */
    List<StaffingAccount> queryStaffingAccountList(QueryStaffingAccountListReq reqDto);

    /**
     * 1-3-14批量修改编制账户
     */
    boolean batchUpdateStaffingAccount(List<StaffingAccount> staffingAccount);

    /**
     * 1-3-14批量删除编制账户
     */
    boolean batchDeleteStaffingAccount(List<String> reqDto);

    /**
     * 1-3-14批量查询编制账户列表
     */
    List<StaffingAccount> batchQueryStaffingAccountList(BatchQueryStaffingAccountListReq reqDto);

    /**
     * 1-3-14批量新增编制账户
     */
    boolean batchAddStaffingAccount(List<StaffingAccount> staffingAccount);

    /**
     * 1-3-14编制账户数量加值
     */
    boolean increaseStaffingAcntNum(StaffingAccount staffingAccount);

    /**
     * 1-3-14编制账户数量减值
     */
    boolean reduceStaffingAcntNum(StaffingAccount staffingAccount);

    /**
     * 1-3-14修改编制在职账户数量
     */
    boolean updateStaffOnAcntNum(StaffingAccount staffingAccount);

    /**
     * 1-3-14修改编制空缺账户数量
     */
    boolean updateStaffOffAcntNum(StaffingAccount staffingAccount);

    /**
     * 1-3-14批量查询归属对象匹配编制账户
     */
    List<StaffingAccount> batchQueryBelongMatchingStaffingAccount(BatchQueryBelongMatchingStaffingAccountReq reqDto);

    /**
     * 1-3-14批量查询编制账户
     */
    List<StaffingAccount> batchQueryStaffingAccount(BatchQueryStaffingAccountReq reqDto);

    /**
     * M1查询编制账户测试列表
     */
    List<StaffingAccount> queryStaffingAccountTestDataList(StaffingAccount staffingAccount);

    /**
     * M1批量删编制账户测试
     */
    boolean batchDeleteStaffingAccountTestData(List<String> reqDto);
//
}

